<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 
 * Class Follow
 *
 * @since 2.0
 *
 * @Entity(table="follow")
 */
class Follow extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 被关注者member_id
     *
     * @Column(name="followed_id", prop="followedId")
     *
     * @var int
     */
    private $followedId;

    /**
     * 关注者member_id
     *
     * @Column(name="follow_id", prop="followId")
     *
     * @var int
     */
    private $followId;

    /**
     * 
     *
     * @Column(name="created_at", prop="createdAt")
     *
     * @var int
     */
    private $createdAt;

    /**
     * 记录状态：1正常 0删除
     *
     * @Column()
     *
     * @var int
     */
    private $status;

    /**
     * 记录状态：1好友 0非好友
     *
     * @Column(name="is_friend", prop="isFriend")
     *
     * @var int
     */
    private $isFriend;

    /**
     * 更新时间
     *
     * @Column(name="updated_at", prop="updatedAt")
     *
     * @var int|null
     */
    private $updatedAt;


    /**
     * @param int $id
     *
     * @return void
     */
    public function setId(int $id): void
    {
        $this->id = $id;
    }

    /**
     * @param int $followedId
     *
     * @return void
     */
    public function setFollowedId(int $followedId): void
    {
        $this->followedId = $followedId;
    }

    /**
     * @param int $followId
     *
     * @return void
     */
    public function setFollowId(int $followId): void
    {
        $this->followId = $followId;
    }

    /**
     * @param int $createdAt
     *
     * @return void
     */
    public function setCreatedAt(int $createdAt): void
    {
        $this->createdAt = $createdAt;
    }

    /**
     * @param int $status
     *
     * @return void
     */
    public function setStatus(int $status): void
    {
        $this->status = $status;
    }

    /**
     * @param int $isFriend
     *
     * @return void
     */
    public function setIsFriend(int $isFriend): void
    {
        $this->isFriend = $isFriend;
    }

    /**
     * @param int|null $updatedAt
     *
     * @return void
     */
    public function setUpdatedAt(?int $updatedAt): void
    {
        $this->updatedAt = $updatedAt;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return int
     */
    public function getFollowedId(): ?int
    {
        return $this->followedId;
    }

    /**
     * @return int
     */
    public function getFollowId(): ?int
    {
        return $this->followId;
    }

    /**
     * @return int
     */
    public function getCreatedAt(): ?int
    {
        return $this->createdAt;
    }

    /**
     * @return int
     */
    public function getStatus(): ?int
    {
        return $this->status;
    }

    /**
     * @return int
     */
    public function getIsFriend(): ?int
    {
        return $this->isFriend;
    }

    /**
     * @return int|null
     */
    public function getUpdatedAt(): ?int
    {
        return $this->updatedAt;
    }

}
